#ifndef UTILS_H
#define UTILS_H
#include <QString>
#include <QSqlDatabase>
#include <QSize>
#include <QPixmap>

//判断字符串是否全为数字
bool isNumeric(const QString &str);

//判断字符串是否是符合QQ邮箱的格式
bool isQQEmail(const QString &email);

//根据路径与文件名获取QByteArray类型数据
QByteArray readBytesFile(const QString& filePath,const QString& fileName);

//根据路径与文件名保存文件到本地
void saveBytesFile(const QString& filePath,const QString& fileName,const QByteArray& pictureByteArray);

void getImageFromServer(const QString& avatar);

//解压tar文件
void untarFile(const QString& tarFilePath, const QString& destDir);
//返回文本展示所需高度
int fontheight(QString context);
//根据给定的数据库连接名称打开数据库
QSqlDatabase openDatabase(QString databaseLinkName);
//从形如msg_1_2中根据提供的用户id获取另外一个id
int getAnotherUserId(const QString& msgStr, const int& knownUserId);
//根据好友id查询好友信息 顺序friend_id, name, email, avatar
QStringList getContactDataById(int friendId);
//更新指定msgId的消息读取时间
bool updateReadTime(const QString &msgId,double max_score,int msgNums);
//根据msgId与score查询指定消息
QStringList queryMsgByMsgIdAndScore(QString msgId,double score);
//保存消息到sqlite数据库
void saveMessageToDatabase(QString databaseName,const QString &msgId,const int &targetId,
                           const int &type,const int &media,const QString &content,
                           const double &createtime ,const double &readtime,const double &score);
//自适应图片大小
QSize pixSize(QPixmap pix);
#endif // UTILS_H
